home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
- FileFrwd - FidoNet File Forwarding Utility FileFrwd - FidoNet File Forwarding Utility
-
- Joe Keenan Joe Keenan
- Black Cat Software Black Cat Software
- Black Cat 100, FidoNet 1:109/661 Black Cat 100, FidoNet 1:109/661
-
- Version 1.00 Version 1.00
-
- October 1, 1987 October 1, 1987
-
-
- BackGround __________
-
- The FileFrwd system provides the capability to forward file attach
- messages, and the associated files, through the FidoNet system as normal
- net messages are done now. The FileFrwd system requires that all nodes
- along the path (including the origination and termination nodes) process
- messages with FileFrwd on a regular basis, and that the control file for
- each node provide the appropriate routing information.
-
- This program was originally designed to fulfill a need here in Net-109.
- We wanted to be able to exchange archived mail files (EchoMail) between
- nodes that were on opposite ends of the net. Our NCR (No-Cost-Routing)
- scheme had intermediate nodes that would forward mail, but files couldn't
- be forwarded. This program was designed and developed to fulfill this
- need.
-
- This capability exceeds anything currently available using standard
- mailer packages. oMMM's ARCTO statement comes close, but the intermediate
- systems must still unarc and re-arc the mail bundles. This imposes a
- significant processing penalty in high-throughput systems.
-
- FileFrwd doesn't care about the contents of the files it is forwarding.
- Any (and all) files can be forwarded, including ARCmail, FidoNews, etc.
-
- This package consists of the following files:
-
- FileFrwd.Exe The program
- FileFrwd.Doc This documentation
- ReadMe.1st Special notes, etc.
- FileFrwd.Ctl Example control file
- FidoFrwd.Bat Example batch file for Fido/SEAdog
- OpusFrwd.Bat Example batch file for Opus
-
- This release also contains:
-
- FixOldFF.Exe Program to convert FileFrwd 0.xx addressing
- information to format that FileFrwd 1.xx uses.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Operation _________
-
- The system consists of the program itself, FileFrwd.Exe, and a control
- file, FileFrwd.Ctl. A substitute name for the control file can be
- provided at run time. A sample control file is included in the
- distribution package. See the comments in the file for setup information.
-
- FileFrwd is executed:
-
- FileFrwd [-d] [-e] [-n] [-o] [-f control_file]
-
- Options:
-
- '-d' Specifies that diagnostic output is to be generated.
- This is primarily for providing information when
- reporting bugs.
-
- '-e' Specifies that 'exporting' is to be done on this pass.
- This allows local files to be forwarded. If this flag
- is not specified, FileFrwd will only process in-transit
- and arrived files.
-
- '-n' The 'n' option tells the program to not make any changes
- (no write), and is intended for use with the '-d' option
- to see what FileFrwd will try and do.
-
- '-o' Opus Outbound option. Use this switch when you are
- running an OO system so that FileFrwd knows to look in
- your Outbound directory for things to do. Don't forget
- to specify the Outbound directory in your control file.
-
- '-f file' Allows a control file to be specified. If this option
- is not used, the default control file 'FileFrwd.Ctl'
- will be used.
-
-
- FileFrwd should be run before AND after any mail events in which
- forwarding is permitted. An external event to accomplish this should be
- scheduled both before and after mail time, and between mail schedules
- within your net's mail time. This applies mainly to nodes that act as
- HUBS, HOSTS, or GATES in a net's routing setup. Terminal nodes will only
- need to run FileFrwd at the start and finish of your mail schedules.
-
- On a Fido/SEAdog system, FileFrwd is run as described above. Since all
- messages on these systems are unbundled between events, FileFrwd can work
- on them in the netmail directory directly. Also, all files have attach
- messages, which simplifies generation of the extended address information
-
- On an Opus Outbound system, there are a couple of "problems" that
- FileFrwd must overcome. First, it is normal for files to be queued up for
- transmission that don't have attach messages. Archived mail files fall in
- this category. To handle these situations, FileFrwd examines the FLO
- files to find files to forward, and then creates attach messages to go
- with them. The attach messages are needed to provide information needed
-
-
-
-
-
-
-
-
-
-
-
-
- by FileFrwd at the intermediate and final stops. You should normally
- never have to deal with these messages directly. They will be deleted
- automatically at the final destination.
-
- As a result of this method of forwarding the files, oMMM must be run
- TWICE in every schedule that you wish to perform forwarding on. TWICE
- Specifically, you run oMMM to create the archive message files, then you
- run FileFrwd, then you have to run oMMM AGAIN to bundle up the attach
- message that FileFrwd generated. It is quite possible that a future
- version of FileFrwd will eliminate this requirement, but don't hold your
- breath.
-
- Starting with this version, FileFrwd on a SEAdog/Fido system can re-
- route files on the fly. Any qualifying message/files found will be routed
- to the current destination according to the control file then in use. If
- you wish to change the destination of files during different mail
- schedules, just run FileFrwd with a different control file. This
- capability is not available on Opus Outbound systems, as FileFrwd can't
- get at the attach message to change it. Sorry. See previous comment
- about future changes.
-
- Examine the example batch files included in this package for more
- detail on how to implement the system.
-
- Internals _________
-
- The Attach Message. If the file originally had an attach message (for
- instance, one created by ARCmail), then FileFrwd will use it. If it did
- not (as most Opus Outbound files will not), then FileFrwd will create one.
- FileFrwd on the destination system will delete the message. The contents
- of the message are not changed, except for two things. First, an IFNA
- Kludge style line is added to the message. The format for this line is:
-
- ^AFILEFRWD: <origin node> <destination node> <filename>
-
- where the original node is the node that first forwarded the file, the
- destination node is where the file is supposed to end up, and filename is
- the original name of the file. Remember, FileFrwd renames the file while
- it is in transit. This would be a typical address line:
-
- ^AFILEFRWD: 109/661 109/639 006D024F.MO3
-
- The line starts with a control-a (0x01), and terminates with a <cr>,
- according to the established IFNA FTSC conventions.
-
- In-transit File Names. The primary purpose of FileFrwd is to allow
- more efficient handling of Echo messages packed into ARCmail type files.
- Because the file names generated by ARCmail (and FASTSCAN) are not unique
- (and may cause filename conflicts on intermediate nodes), the files are
- renamed while in-transit.
-
- The filename used is of the form: XXYYZZZZ.@FF, where XX is the
- originating net number, XX is node number, and ZZZZ is a counter (seconds
- since ???). All numbers are base 32.
-
-
-
-
-
-
-
-
-
-
-
-
-
- The Control File. I will admit that the control file has information
- in it that can be determined from other sources on an operational
- SEAdog/Fido/Opus system. However, why bother? This was much easier to
- program, faster in operation (less files to deal with), and simpler. I
- hope that this doesn't cause problems down the road with people not
- setting up the file properly.
-
- Please read the information in the sample control file very carefully.
- Almost all of the problems encountered in early beta testing was caused by
- the failure to properly configure the system with the information in the
- control file. Especially important is setting up the routing information
- correctly. Please use your routing control file as a guide. Make sure
- you only route to those systems that you have to send files to, and cannot
- be reached directly. If you have questions, please send me netmail.
-
- Planned Updates _______________
-
- There are a number of updates and enhancements planned for FileFrwd.
- The most interesting one is what I call "pipelining". In the current
- implementation, duplicate files are sent as duplicates. For example, if
- I'm distributing FidoNews or NodeDiffs in my net, I might be routing the
- files via a hub. If there are 5 nodes on the other side of the hub, I
- would be sending 5 copies of the file (each under a different name). What
- I plan to do in the future is to detect this duplication on the
- originating node and pass enough information in the attach message to
- allow the hub node(s) to split copies of the file out as needed.
-
- Another thing I don't like is the incredibly kludgy interaction with
- Opus Outbound systems. The only solution to this problem (that I can
- think of) is to include the functionality of FileFrwd in the bundler
- program. To that end, if you are planning on writing (or modifying) a
- bundling program, please get in touch with me. I will release complete
- specifications (and some source code) to anyone who convinces me that they
- are serious about doing this kind of work.
-
- If you have any suggestions for this program, or mites that you have
- seen, please send me a note. Thanks.
-
-
- Policy Statement ________________
-
- FileFrwd is being released as more-or-less Shareware. If you're a net
- utility author, treat me as you would want to be treated. Golden Rule
- time. On the other hand, if you're not contributing anything to the net,
- I expect something directly. I don't expect every node to contribute, but
- if your Net is making use of it on a significant basis, I would appreciate
- a small fee for continued development and maintenance. Something on the
- order of $50 per Net would be great. Send contributions to:
-
- Joe Keenan
- Black Cat Software
- 5430F Lynx Lane, #306
- Columbia, MD 21044
-
-
-
-
-
-
-
-
-
-
-
-
- Version History _______________
-
- 0.00 5/13/87 First beta release.
- 0.01 5/14/87 No-route for Crash Status.
- 0.02 5/16/87 Miscellaneous mite fixes.
- 0.03 5/24/87 Fixed terminal loop problem while reading messages
- 0.05 5/31/87 Reworked Debug output.
- Prevented system from attempting to route via the
- local node.
-
- 0.10 6/03/87 First General Release.
- 0.11 Adjusted Crash message handling.
- Fixed problems with multiple drive systems.
- Enhanced error reporting/handling.
-
- 0.12 6/13/87 Maintenance release. All bug fixes and
- improvements since 0.10
-
- 0.13a-h Beta versions of next release.
-
- 0.14 7/04/87 Maintenance release.
- Fixed operation with FastScan's -d option.
- Fixed multiple drive problems.
- Greatly simplified debug messages.
-
- 0.99a-c Beta releases for version 1.00
- Total rewrite to eliminate design problems that
- prevented use with Opus.
-
- 1.00 10/1/87 General Release
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-